package com.mdd.common.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;

/**
 * 支付宝交易信息
 * @TableName alipay_trade_pay_info
 */
@TableName(value ="alipay_trade_pay_info")
@Data
public class AlipayTradePayInfo implements Serializable {
    /**
     * 编号
     */
    @TableId
    private Long id;

    /**
     * 先享后付2.0垫资金额,不返回表示没有走垫资，非空表示垫资支付的金额
     */
    private String advanceAmount;

    /**
     * 异步支付模式，目前有五种值： ASYNC_DELAY_PAY(异步延时付款); ASYNC_REALTIME_PAY(异步准实时付款); SYNC_DIRECT_PAY(同步直接扣款); NORMAL_ASYNC_PAY(纯异步付款); QUOTA_OCCUPYIED_ASYNC_PAY(异步支付并且预占了先享后付额度);
     */
    private String asyncPaymentMode;

    /**
     * 预授权支付模式，该参数仅在信用预授权支付场景下返回。信用预授权支付：CREDIT_PREAUTH_PAY
     */
    private String authTradePayMode;

    /**
     * 间联交易下，返回给机构的信息

     */
    private String bkagentRespInfo;

    /**
     * 商户传入业务信息，具体值要和支付宝约定 将商户传入信息分发给相应系统，应用于安全，营销等参数直传场景 格式为json格式
     */
    private String businessParams;

    /**
     * 买家支付宝账号
     */
    private String buyerLogonId;

    /**
     * 买家支付宝用户唯一标识
     */
    private String buyerOpenId;

    /**
     * 买家付款的金额
     */
    private String buyerPayAmount;

    /**
     * 买家在支付宝的用户id
     */
    private String buyerUserId;

    /**
     * 买家名称； 买家为个人用户时为买家姓名，买家为企业用户时为企业名称； 默认不返回该信息，需与支付宝约定后配置返回
     */
    private String buyerUserName;

    /**
     * 买家用户类型。CORPORATE:企业用户；PRIVATE:个人用户
     */
    private String buyerUserType;

    /**
     * 是否可以转为app支付，仅当商户代扣失败场景才会返回该字段信息
     */
    private String canTurnToAppPay;

    /**
     * 支付宝卡余额
     */
    private String cardBalance;

    /**
     * 该笔交易针对收款方的收费金额； 只在机构间联模式下返回，其它场景下不返回该字段
     */
    private String chargeAmount;

    /**
     * 费率活动标识。 当交易享受特殊行业或活动费率时，返回该场景的标识。具体场景如下： trade_special_00：订单优惠费率； industry_special_on_00：线上行业特殊费率0； industry_special_on_01：线上行业特殊费率1； industry_special_00：线下行业特殊费率0； industry_special_01：线下行业特殊费率1； bluesea_1：蓝海活动优惠费率标签； 注：只在机构间联模式下返回，其它场景下不返回该字段
     */
    private String chargeFlags;

    /**
     * 计费信息列表
     */
    private String chargeInfoList;

    /**
     * 信用业务单号。信用支付场景才有值。先用后付产品里是芝麻订单号
     */
    private Long creditBizOrderId;

    /**
     * 信用支付模式。表示订单是采用信用支付方式（支付时买家没有出资，需要后续履约）。"creditAdvanceV2"表示芝麻先用后付模式，用户后续需要履约扣款。 此字段只有信用支付场景才有值，商户需要根据字段值单独处理。此字段以后可能扩展其他值，建议商户使用白名单方式识别，对于未识别的值做失败处理，并联系支付宝技术支持人员。
     */
    private String creditPayMode;

    /**
     * 平台优惠金额
     */
    private String discountAmount;

    /**
     * 本次交易支付所使用的单品券优惠的商品优惠信息。 只有在query_options中指定时才返回该字段信息
     */
    private String discountGoodsDetail;

    /**
     * 因公付支付信息，只有入参的query_options中指定时才返回该字段信息
     */
    private String enterprisePayInfo;

    /**
     * 交易支付时间
     */
    private String gmtPayment;

    /**
     * 惠营宝回票金额
     */
    private String hybAmount;

    /**
     * 交易中可给用户开具发票的金额
     */
    private String invoiceAmount;

    /**
     * 商家优惠金额
     */
    private String mdiscountAmount;

    /**
     * 商户订单号
     */
    private String outTradeNo;

    /**
     * 支付币种订单金额
     */
    private String payAmount;

    /**
     * 支付币种
     */
    private String payCurrency;

    /**
     * 使用集分宝付款的金额
     */
    private String pointAmount;

    /**
     * 实收金额
     */
    private String receiptAmount;

    /**
     * 收款资金类型，当交易收款资金为数字人民币时返回值为“DC”，否则不返回该字段
     */
    private String receiptCurrencyType;

    /**
     * 结算币种订单金额
     */
    private String settleAmount;

    /**
     * 商户指定的结算币种，目前支持英镑：GBP、港币：HKD、美元：USD、新加坡元：SGD、日元：JPY、加拿大元：CAD、澳元：AUD、欧元：EUR、新西兰元：NZD、韩元：KRW、泰铢：THB、瑞士法郎：CHF、瑞典克朗：SEK、丹麦克朗：DKK、挪威克朗：NOK、马来西亚林吉特：MYR、印尼卢比：IDR、菲律宾比索：PHP、毛里求斯卢比：MUR、以色列新谢克尔：ILS、斯里兰卡卢比：LKR、俄罗斯卢布：RUB、阿联酋迪拉姆：AED、捷克克朗：CZK、南非兰特：ZAR、人民币：CNY
     */
    private String settleCurrency;

    /**
     * 结算币种兑换标价币种汇率
     */
    private String settleTransRate;

    /**
     * 支付清算编号，用于清算对账使用； 只在机构间联模式下返回，其它场景下不返回该字段
     */
    private String settlementId;

    /**
     * 发生支付交易的商户门店名称
     */
    private String storeName;

    /**
     * 交易金额
     */
    private String totalAmount;

    /**
     * 支付宝交易号
     */
    private String tradeNo;

    /**
     * 标价币种, total_amount对应的币种单位。目前支持英镑：GBP、港币：HKD、美元：USD、新加坡元：SGD、日元：JPY、加拿大元：CAD、澳元：AUD、欧元：EUR、新西兰元：NZD、韩元：KRW、泰铢：THB、瑞士法郎：CHF、瑞典克朗：SEK、丹麦克朗：DKK、挪威克朗：NOK、马来西亚林吉特：MYR、印尼卢比：IDR、菲律宾比索：PHP、毛里求斯卢比：MUR、以色列新谢克尔：ILS、斯里兰卡卢比：LKR、俄罗斯卢布：RUB、阿联酋迪拉姆：AED、捷克克朗：CZK、南非兰特：ZAR、人民币：CNY
     */
    private String transCurrency;

    /**
     * 标价币种兑换支付币种汇率
     */
    private String transPayRate;

    /**
     * 交易状态：0、待交易 1、交易成功 2、交易失败
     */
    private Integer status;

    /**
     * 备注信息
     */
    private String remarks;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
